/* 
 *  javascribd - Java client library for the Scribd API. 
 *  Copyright (C) 2009 by Marcel Eyke, http://code.google.com/p/javascribd/ 
 *  Use is subject to license terms of LGPL. See license.txt. 
 */
package com.google.code.javascribd.docs;

import java.net.URL;

import com.google.code.javascribd.connection.AbstractScribdMethod;
import com.google.code.javascribd.connection.annotation.GETParameter;
import com.google.code.javascribd.connection.annotation.Method;
import com.google.code.javascribd.type.Access;
import com.google.code.javascribd.type.ApiKey;
import com.google.code.javascribd.type.PaidContent;
import com.google.code.javascribd.type.SessionKey;

/**
 * This class is the POJO of the docs.uploadFromUrl Scribd request.
 * 
 * @see <a
 *      href="http://www.scribd.com/developers/api?method_name=docs.uploadFromUrl">docs.uploadFromUrl
 *      specification on Scribd.com</a>
 * 
 * @author Marcel Eyke
 */
@Method(name = "docs.uploadFromUrl")
public class UploadFromUrl extends AbstractScribdMethod<UploadFromUrlResponse> {

	@GETParameter(name = "url")
	private URL url;

	@GETParameter(name = "api_key")
	private ApiKey apiKey;

	@GETParameter(name = "session_key")
	private SessionKey sessionKey;

	@GETParameter(name = "doc_type")
	private String docType;

	@GETParameter(name = "access")
	private Access access;

	@GETParameter(name = "paid_content")
	private PaidContent paidContent;

	@GETParameter(name = "my_user_id")
	private String myUserId;

	@GETParameter(name = "rev_id")
	private Integer revId;

	public UploadFromUrl(ApiKey apiKey, URL url) {
		super();
		this.apiKey = apiKey;
		this.url = url;
	}

	public SessionKey getSessionKey() {
		return sessionKey;
	}

	public void setSessionKey(SessionKey sessionKey) {
		this.sessionKey = sessionKey;
	}

	public ApiKey getApiKey() {
		return apiKey;
	}

	public String getDocType() {
		return docType;
	}

	public void setDocType(String docType) {
		this.docType = docType;
	}

	public Access getAccess() {
		return access;
	}

	public void setAccess(Access access) {
		this.access = access;
	}

	public PaidContent getPaidContent() {
		return paidContent;
	}

	public void setPaidContent(PaidContent paidContent) {
		this.paidContent = paidContent;
	}

	public String getMyUserId() {
		return myUserId;
	}

	public void setMyUserId(String myUserId) {
		this.myUserId = myUserId;
	}

	public Integer getRevId() {
		return revId;
	}

	public void setRevId(Integer revId) {
		this.revId = revId;
	}

	public URL getUrl() {
		return url;
	}
}